package com.bitinstitute.parkapp.googlemaps;

import java.util.ArrayList;

import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.widget.ListView;

import com.bitinstitute.parkapp.animals.types.TypesAdapter;
import com.bitinstitute.parkapp.animals.types.TypesSingleMenuItemActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.OverlayItem;
import com.readystatesoftware.mapviewballoons.BalloonItemizedOverlay;

/**
 * 
 * This class will show the google API V1 - could be only used if you have a valid API 1 Key
 *
 */

public class SimpleItemizedOverlay extends BalloonItemizedOverlay<OverlayItem> {

	static final String KEY_NAME = "name";
	static final String KEY_SCI = "sci_name";
	static final String KEY_ORIGIN = "origin";
	static final String KEY_FOOD = "food";
	static final String KEY_SIZE = "size";
	static final String KEY_WEIGHT = "weight";
	static final String KEY_INCUBATION = "incubation";
	static final String KEY_EGGS = "eggs";
	static final String KEY_AGE = "age";
	static final String KEY_PLACE = "place";
	static final String KEY_HEADING1 = "heading1";
	static final String KEY_DESC1 = "description1";
	static final String KEY_HEADING2 = "heading2";
	static final String KEY_DESC2 = "description2";
	static final String KEY_HEADING3 = "heading3";
	static final String KEY_DESC3 = "description3";
	static final String KEY_THUMB_URL = "thumb_url";
	static final String KEY_SOUND = "sound";
	static final String KEY_VIDEO = "video";

	ListView list;
	TypesAdapter adapter;

	private ArrayList<OverlayItem> m_overlays = new ArrayList<OverlayItem>();
	private Context c;

	public SimpleItemizedOverlay(Drawable defaultMarker, MapView mapView) {
		super(boundCenter(defaultMarker), mapView);
		c = mapView.getContext();
	}

	public void addOverlay(OverlayItem overlay) {
		m_overlays.add(overlay);
		populate();
	}

	@Override
	protected OverlayItem createItem(int i) {
		return m_overlays.get(i);
	}

	@Override
	public int size() {
		return m_overlays.size();
	}

	protected boolean onBalloonTap(int index, OverlayItem item) {

		if (m_overlays.get(index).getTitle() == "Weißstorch") {

			Intent in = new Intent(c.getApplicationContext(),
					TypesSingleMenuItemActivity.class);
			in.putExtra(KEY_NAME, "Weißstorch");
			in.putExtra(KEY_SCI, "Ciconia Ciconia");
			in.putExtra(KEY_ORIGIN, "Europa, Afrika");
			in.putExtra(KEY_FOOD, "Insekten, Reptilien, Würmer, Schnecken, Kleinsäuger, Fische, Amphibien");
			in.putExtra(KEY_SIZE, "Ca. 80 - 100 cm (Scheitelhöhe)");
			in.putExtra(KEY_WEIGHT, "3 - 4 kg");
			in.putExtra(KEY_INCUBATION, "ca. 32 Tage");
			in.putExtra(KEY_EGGS, "4");
			in.putExtra(KEY_AGE, "35 Jahre (im Gehege)");
			in.putExtra(KEY_PLACE, "Nester im ganzen Park, z.B. auf der Festhalle Baumhain");
			in.putExtra(KEY_HEADING1, "Klapperstorch");
			in.putExtra(KEY_DESC1, "Warum klappert der Klapperstorch? Na, weil er nichts anderes kann! Im Gegensatz zu den meisten Singvögeln ist die Stimme erwachsener Weißstörche stark zurückgebildet. Das Schnabelklappern dient deshalb der Verständigung und kommt beispielsweise bei der Begrüßung des Partners, bei der Nestverteidigung oder bei der Balz zum Einsatz.");
			in.putExtra(KEY_HEADING2, "Froschfresser?");
			in.putExtra(KEY_DESC2, "Nein, nicht ausschließlich - eher ein \"tierischer\" Allesfresser. Weißstörche haben ein breites Nahrungsspektrum. Je nach Jahreszeit jagen sie die Beute, die gerade verfügbar ist. Besonders während der Jungenaufzucht bevorzugen sie Regenwürmer und Insekten - sozusagen Babynahrung.");
			in.putExtra(KEY_HEADING3, "\"Schnellwachser\"");
			in.putExtra(KEY_DESC3, "Dieser ausgewogenen Ernährung verdanken die Jungvögel ihren rekordverdächtigen Größenzuwachs: die Flügel wachsen zum Teil einen Zentimeter, die Beine 0,7 Zentimeter pro Tag! Ihr Schlupfgewicht von etwa 75 Gramm haben sie schon nach 14 Tagen verzehnfacht. Nach acht bis zehn Wochen sind sie bereits flügge. Übrigens: Im Luisenpark lebt die größte großstädtische Storchenkolonie Deutschlands!");
			in.putExtra(KEY_THUMB_URL, "http://watermark.wa.funpic.de/parkGuide/tiere/arten/Tiere_Arten_Stoerche_webUe.jpg");
			in.putExtra(KEY_SOUND, "http://watermark.wa.funpic.de/parkGuide/tiere/sounds/weisstorch.mp3");
			in.putExtra(KEY_VIDEO, "");

			c.startActivity(in);
		}

		if (m_overlays.get(index).getTitle() == "Humboldt-Pinguin") {

			Intent in = new Intent(c.getApplicationContext(),
					TypesSingleMenuItemActivity.class);
			in.putExtra(KEY_NAME, "Humboldt-Pinguin");
			in.putExtra(KEY_SCI, "Spheniscus humboldti");
			in.putExtra(KEY_ORIGIN, "Westküste Südamerikas");
			in.putExtra(KEY_FOOD, "Fisch");
			in.putExtra(KEY_SIZE, "60 cm");
			in.putExtra(KEY_WEIGHT, "5 kg");
			in.putExtra(KEY_INCUBATION, "40 - 42 Tage");
			in.putExtra(KEY_EGGS, "2");
			in.putExtra(KEY_AGE, "bis 20 Jahre");
			in.putExtra(KEY_PLACE, "Gehege am Ufer des Kutzerweihers auf Höhe der Festhalle Baumhain");
			in.putExtra(KEY_HEADING1, "Wüstenpinguine");
			in.putExtra(KEY_DESC1, "Pinguine - damit verbindet man Eis und Schnee. Aber Pinguine am Rande der Atacamawüste? Humboldtpinguine leben an der Pazifikküste Südamerikas, sie sind über die ganze Küste Perus, aber auch im ganzen Nordteil von Chile verbreitet.");
			in.putExtra(KEY_HEADING2, "\"Flieger\" unter Wasser.....");
			in.putExtra(KEY_DESC2, "Pinguine können bekanntlich mit ihren kleinen Flügeln nicht durch die Lüfte fliegen. Dafür sind sie aber ausgezeichnete Schwimmer und Taucher, die pfeilschnell durchs Wasser schießen. Generell tauchen Humboldtpinguine nur wenig tiefer als einen Meter und fischen direkt unter der Wasseroberfläche. Die bisherige dokumentierte Rekordtiefe eines Humboldtpinguins liegt allerdings bei knapp 70 Metern. Auf der Jagd nach Fischen schwimmen die Humboldtpinguine unter Wasser bis zu 10 Kilometer pro Stunde schnell.");
			in.putExtra(KEY_HEADING3, ".....Tollpatsch an Land");
			in.putExtra(KEY_DESC3, "An Land sind sie etwas weniger rasant und rutschen entweder auf dem Bauch, oder \"watscheln\" in ihrem typisch aufrechten Gang daher.");
			in.putExtra(KEY_THUMB_URL, "http://watermark.wa.funpic.de/parkGuide/tiere/arten/Tiere_Arten_HumbwebUe.jpg");
			in.putExtra(KEY_SOUND, "http://watermark.wa.funpic.de/parkGuide/tiere/sounds/pinguin.mp3");
			in.putExtra(KEY_VIDEO, "http://watermark.wa.funpic.de/parkGuide/tiere/movies/pinguin.mp4");

			c.startActivity(in);
		}

		if (m_overlays.get(index).getTitle() == "Anemonenfisch") {

			Intent in = new Intent(c.getApplicationContext(),
					TypesSingleMenuItemActivity.class);
			in.putExtra(KEY_NAME, "Anemonenfisch");
			in.putExtra(KEY_SCI, "Anemonefish");
			in.putExtra(KEY_ORIGIN, "Indischer und Pacifi Ozean");
			in.putExtra(KEY_FOOD, "Tunicate Larven, Algen, Copepoden");
			in.putExtra(KEY_SIZE, "10 - 18 cm");
			in.putExtra(KEY_WEIGHT, "1 - 2.5 kg");
			in.putExtra(KEY_INCUBATION, "6 - 10 Tage");
			in.putExtra(KEY_EGGS, "100 - 1000");
			in.putExtra(KEY_AGE, "6 - 10 Jahre");
			in.putExtra(KEY_PLACE, "");
			in.putExtra(KEY_HEADING1, "\"NEMO\" UND DIE \"ANEMONE\"");
			in.putExtra(KEY_DESC1, "Anemonenfische leben in einer engen Lebensgemeinschaft mit Seeanemonen (Symbiose). Bei Gefahr gewährt die wehrhafte Anemone dem Fisch Unterschlupf und damit Schutz vor Fressfeinden. Als Gegenleistung hält der Anemonenfisch seine Anemone \"sauber\" und verteidigt sie gegen fremde Eindringlinge.");
			in.putExtra(KEY_HEADING2, "CHEMISCHE TARNKAPPE");
			in.putExtra(KEY_DESC2, "Warum wird der Anemonenfisch aber nicht selbst genesselt? Die Lösung ist einfach - er schleimt sich ein. Tatsächlich reiben sich die Fische an der nicht nesselnden Unterseite der Anemonen mit Schleim ein, dabei übernehmen sie Schutzstoffe der Anemonen und werden so nicht als fremd erkannt. Fehlt dieser Schleimüberzug, werden sie genesselt.");
			in.putExtra(KEY_HEADING3, "MÄNNCHEN ODER WEIBCHEN?");
			in.putExtra(KEY_DESC3, "Alle Anemonenfische sind zunächst Männchen. In einer Gruppe verwandelt sich dann das größte Tier in ein Weibchen, das mit mehreren Männchen zusammen lebt. Stirbt das Weibchen verwandelt sich das stärkste Männchen innerhalb einer Woche in ein Weibchen. Praktisch - oder?");
			in.putExtra(KEY_THUMB_URL, "http://watermark.wa.funpic.de/parkGuide/tiere/arten/Tiere_Arten_AnemwebUe.jpg");
			in.putExtra(KEY_SOUND, "");
			in.putExtra(KEY_VIDEO, "");

			c.startActivity(in);
		}

		return false;
	}

}
